package com.zeki.service;

import com.alibaba.csp.sentinel.annotation.SentinelResource;
import org.springframework.stereotype.Service;

@Service
public class SentinelService {

    /**
     * @SentinelResource：标识资源是否被限流、降级。属性"helloSentinel"表示资源名。
     * 还提供了其它额外的属性如 blockHandler，blockHandlerClass，fallback 用于表示限流或降级的操作。
     *
     * 若不配置 blockHandler、fallback 等函数，则被流控降级时方法会直接抛出对应的 BlockException；
     * 若方法未定义 throws BlockException 则会被 JVM 包装一层 UndeclaredThrowableException。
     */
    @SentinelResource("helloSentinel")
    public String helloSentinel(String name) {
        return "Hello Sentinel " + name;
    }
}
